refactor(threads): converge on metadata.title; drop titleMetadataKey config#506
Merged
Conversation
…config Spec 2026-05-19-llm-generated-labels-design.md proposed metadata.thread_title for the new cockpit-cap title nodes, but the canonical demo's _maybe_write_thread_title (which predates the spec) writes metadata.title. PR #488's LangGraphThreadsAdapter bridged the two via a per-consumer titleMetadataKey config knob — friction every consumer had to remember. Converge on metadata.title across everything: - cockpit/chat/threads/python + cockpit/chat/a2ui/python graphs now write metadata.title (renamed read+write sites, updated docstrings) - LangGraphThreadsAdapter reads metadata.title unconditionally; the titleMetadataKey field is removed from LangGraphThreadsConfig - Both consumers drop the per-cap titleMetadataKey override from app.config.ts - threads-adapter.spec.ts simplified (one fewer test parameter) - Spec gets a 2026-05-21 addendum documenting the convergence No behavior change for the demo (already on metadata.title). The two cockpit caps now share the demo's convention; existing prod threads written with the old key would lose their title, but the prod backlog was cleared separately and the cockpit caps weren't in prod. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Spec 2026-05-19 proposed
metadata.thread_titlefor cockpit-cap title nodes. The canonical demo (which predates the spec) writesmetadata.title. PR #488'sLangGraphThreadsAdapterbridged them via a per-consumertitleMetadataKeyconfig knob — friction every consumer had to remember.This PR converges on
metadata.titleeverywhere and removes the config knob.Diff
cockpit/chat/threads/python/src/graph.py+cockpit/chat/a2ui/python/src/graph.py— writemetadata.title(renamed read+write sites, updated docstrings)libs/langgraph/src/lib/threads/threads-adapter.ts— readsmetadata.titleunconditionally;titleMetadataKeyremoved fromLangGraphThreadsConfigcockpit/chat/threads/angular/src/app/app.config.ts+examples/chat/angular/src/app/app.config.ts— drop per-cap key overrideslibs/langgraph/src/lib/threads/threads-adapter.spec.ts— one fewer test parameter (the "alternate key" test goes away)docs/superpowers/specs/2026-05-19-llm-generated-labels-design.md— addendum documenting the convergenceCompatibility
examples/chat): no behavior change — already onmetadata.titlethread_titlewould lose their title, but the prod backlog was cleared separately and the cockpit caps weren't in prodLangGraphThreadsConfiginterface change:titleMetadataKeyfield removed.titleFallbackstays. Net minor breaking change to the adapter's public API but only one external test setup invoked it.Test plan
vitest run threads-adapter)nx build langgraphgreennx build examples-chat-angulargreennx build cockpit-chat-threads-angulargreenfrom src.graph import graph)metadata.titlepopulated🤖 Generated with Claude Code